package com.huizu.project.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.huizu.common.annotation.Excel;
import com.huizu.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 用户管理对象 pro_user
 * 
 * @author zhangmx
 * @date 2024-05-10
 */
public class ProUser
{
    private static final long serialVersionUID = 1L;

    /** 用户ID */
    private String userId;

    /**
     * 学校同步id
     */
    private String universityId;

    /** uniId */
//    @Excel(name = "uniId")
    private String uniId;

    /** openID */
//    @Excel(name = "openID")
    private String openId;

    /** openId2 */
//    @Excel(name = "openId2")
    private String openId2;

    /** 学院ID */
//    @Excel(name = "学院ID")
    private String xyId;

    /** 学校ID */
//    @Excel(name = "学校ID")
    private String xxId;

    /** 专业ID */
//    @Excel(name = "专业ID")
    private String zyId;

    /** 年级ID */
//    @Excel(name = "年级ID")
    private String njId;

    /** 班级ID */
//    @Excel(name = "班级ID")
    private String clId;

    /** 昵称 */
//    @Excel(name = "昵称")
    private String nickName;

    /** 头像 */
//    @Excel(name = "头像")
    private String userImage;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 学号 */
    @Excel(name = "学号")
    private String stNumber;

    /** 手机号 */
//    @Excel(name = "手机号")
    private String phone;

    /** 密码 */
//    @Excel(name = "密码")
    private String password;

    private String sex;

    private String xxName;

    @Excel(name = "学院")
    private String xyName;

    @Excel(name = "专业")
    private String zyName;

    private String zjName;

    @Excel(name = "年级")
    private String njName;

    @Excel(name = "班级")
    private String bjName;

    /**
     * 最好劳动节分
     */
    private int maxPoints;

    /**
     * 基础/劳动积分
     */
    private int userPoints;

    private int userJcldPoints;

    //积分
    /**
     * 总结报告积分
     */
    private int userldzjPoints;

    /**
     * 社会公益劳动
     */
    private int userldgyPoints;

    /**
     * 劳动成果
     */
    private int userldcgPoints;

    private int usersjcgPoints;

    private int userllPoints;

    @Excel(name = "基础劳动X48%")
    private BigDecimal userjcldCj;

    //成绩
    @Excel(name = "社会公益劳动X8%")
    private BigDecimal userldgyCj;

    @Excel(name = "劳动成果X8%")
    private BigDecimal userldcgCj;

    //成绩
    @Excel(name = "劳动总结报告X16%")
    private BigDecimal userldzjCj;

    @Excel(name = "实践成绩X80%")
    private BigDecimal usersjCj;

    @Excel(name = "理论成绩X20%")
    private BigDecimal userllCj;

    @Excel(name = "总成绩")
    private BigDecimal userAllCj;

    private int countPoints;


    //完成情况
    /**
     * 基础劳动完成进度 1未 2已完成
     */
    private int jcldJdCount;

    private int ldzjJdCount;

    private int ldgyJdCount;

    private int ldcgJdCount;

    /**
     * 总进度是否完成
     */
    private int jdCount;

    //进度

    private BigDecimal jcldJdPer;

    private BigDecimal ldzjJdPer;

    private BigDecimal ldgyJdPer;


    private BigDecimal ldcgJdPer;

    /**
     * 理论成绩进度
     */
    private BigDecimal llcjJdPer;


    private BigDecimal jdPer;

    /**
     * 实践总成绩/进度
     */
    private BigDecimal countSjPer;

    /**
     * 理论总成绩/进度
     */
    private BigDecimal countLLPer;

    /**
     * 总成绩/总进度
     */
    private BigDecimal countPer;

    /**
     * 总成绩
     */
    private BigDecimal countCj;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private String code;

    private String passwordNew;

    private String token;

    private String search;

    private Integer page;

    private Integer num;

    private String isSort;

    private String sortType;


    /** 学号或姓名 */
    private String stNumberOrName;



    private BigDecimal userLdCj;


    private List<String> bjIds;

    private BigDecimal dfCount;

    private Long rank;

    public String getUniversityId() {
        return universityId;
    }

    public void setUniversityId(String universityId) {
        this.universityId = universityId;
    }

    public Long getRank() {

        return rank;
    }
    public void setRank(Long rank)
    {
        this.rank = rank;
    }

    public BigDecimal getDfCount() {

        return dfCount;
    }
    public void setDfCount(BigDecimal dfCount)
    {
        this.dfCount = dfCount;
    }

    public String getSex() {

        return sex;
    }
    public void setSex(String sex)
    {
        this.sex = sex;
    }

    public List<String> getBjIds() {

        return bjIds;
    }
    public void setBjIds(List<String> bjIds)
    {
        this.bjIds = bjIds;
    }

    public void setUserLdCj(BigDecimal userLdCj)
    {
        this.userLdCj = userLdCj;
    }

    public BigDecimal getUserLdCj()
    {
        return userLdCj;
    }

    private BigDecimal userCj;

    public void setUserCj(BigDecimal userCj)
    {
        this.userCj = userCj;
    }

    public BigDecimal getUserCj()
    {
        return userCj;
    }

    private BigDecimal userLlCj;


    public void setUserLlCj(BigDecimal userLlCj)
    {
        this.userLlCj = userLlCj;
    }

    public BigDecimal getUserLlCj()
    {
        return userLlCj;
    }
    public void setStNumberOrName(String stNumberOrName)
    {
        this.stNumberOrName = stNumberOrName;
    }

    public String getStNumberOrName()
    {
        return stNumberOrName;
    }


    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setUniId(String uniId) 
    {
        this.uniId = uniId;
    }

    public String getUniId() 
    {
        return uniId;
    }
    public void setOpenId(String openId) 
    {
        this.openId = openId;
    }

    public String getOpenId() 
    {
        return openId;
    }
    public void setOpenId2(String openId2) 
    {
        this.openId2 = openId2;
    }

    public String getOpenId2() 
    {
        return openId2;
    }
    public void setXyId(String xyId) 
    {
        this.xyId = xyId;
    }

    public String getXyId() 
    {
        return xyId;
    }
    public void setXxId(String xxId) 
    {
        this.xxId = xxId;
    }

    public String getXxId() 
    {
        return xxId;
    }
    public void setZyId(String zyId) 
    {
        this.zyId = zyId;
    }

    public String getZyId() 
    {
        return zyId;
    }
    public void setNjId(String njId) 
    {
        this.njId = njId;
    }

    public String getNjId() 
    {
        return njId;
    }
    public void setClId(String clId) 
    {
        this.clId = clId;
    }

    public String getClId() 
    {
        return clId;
    }
    public void setNickName(String nickName) 
    {
        this.nickName = nickName;
    }

    public String getNickName() 
    {
        return nickName;
    }
    public void setUserImage(String userImage) 
    {
        this.userImage = userImage;
    }

    public String getUserImage() 
    {
        return userImage;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setStNumber(String stNumber) 
    {
        this.stNumber = stNumber;
    }

    public String getStNumber() 
    {
        return stNumber;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }

    public String getXxName() {
        return xxName;
    }

    public void setXxName(String xxName) {
        this.xxName = xxName;
    }

    public String getXyName() {
        return xyName;
    }

    public void setXyName(String xyName) {
        this.xyName = xyName;
    }

    public String getZyName() {
        return zyName;
    }

    public void setZyName(String zyName) {
        this.zyName = zyName;
    }

    public String getZjName() {
        return zjName;
    }

    public void setZjName(String zjName) {
        this.zjName = zjName;
    }

    public String getNjName() {
        return njName;
    }

    public void setNjName(String njName) {
        this.njName = njName;
    }

    public String getBjName() {
        return bjName;
    }

    public void setBjName(String bjName) {
        this.bjName = bjName;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getPasswordNew() {
        return passwordNew;
    }

    public void setPasswordNew(String passwordNew) {
        this.passwordNew = passwordNew;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getSearch() {
        return search;
    }

    public void setSearch(String search) {
        this.search = search;
    }

    public int getMaxPoints() {
        return maxPoints;
    }

    public void setMaxPoints(int maxPoints) {
        this.maxPoints = maxPoints;
    }

    public int getUserPoints() {
        return userPoints;
    }

    public void setUserPoints(int userPoints) {
        this.userPoints = userPoints;
    }

    public int getUserJcldPoints() {
        return userJcldPoints;
    }

    public void setUserJcldPoints(int userJcldPoints) {
        this.userJcldPoints = userJcldPoints;
    }

    public int getUserldzjPoints() {
        return userldzjPoints;
    }

    public void setUserldzjPoints(int userldzjPoints) {
        this.userldzjPoints = userldzjPoints;
    }

    public int getUserldgyPoints() {
        return userldgyPoints;
    }

    public void setUserldgyPoints(int userldgyPoints) {
        this.userldgyPoints = userldgyPoints;
    }

    public int getUserldcgPoints() {
        return userldcgPoints;
    }

    public void setUserldcgPoints(int userldcgPoints) {
        this.userldcgPoints = userldcgPoints;
    }

    public int getUsersjcgPoints() {
        return usersjcgPoints;
    }

    public void setUsersjcgPoints(int usersjcgPoints) {
        this.usersjcgPoints = usersjcgPoints;
    }

    public int getUserllPoints() {
        return userllPoints;
    }

    public void setUserllPoints(int userllPoints) {
        this.userllPoints = userllPoints;
    }

    public int getCountPoints() {
        return countPoints;
    }

    public void setCountPoints(int countPoints) {
        this.countPoints = countPoints;
    }

    public int getJcldJdCount() {
        return jcldJdCount;
    }

    public void setJcldJdCount(int jcldJdCount) {
        this.jcldJdCount = jcldJdCount;
    }

    public int getLdzjJdCount() {
        return ldzjJdCount;
    }

    public void setLdzjJdCount(int ldzjJdCount) {
        this.ldzjJdCount = ldzjJdCount;
    }

    public int getLdgyJdCount() {
        return ldgyJdCount;
    }

    public void setLdgyJdCount(int ldgyJdCount) {
        this.ldgyJdCount = ldgyJdCount;
    }

    public int getLdcgJdCount() {
        return ldcgJdCount;
    }

    public void setLdcgJdCount(int ldcgJdCount) {
        this.ldcgJdCount = ldcgJdCount;
    }

    public int getJdCount() {
        return jdCount;
    }

    public void setJdCount(int jdCount) {
        this.jdCount = jdCount;
    }

    public BigDecimal getUserldzjCj() {
        return userldzjCj;
    }

    public void setUserldzjCj(BigDecimal userldzjCj) {
        this.userldzjCj = userldzjCj;
    }

    public BigDecimal getUserldgyCj() {
        return userldgyCj;
    }

    public void setUserldgyCj(BigDecimal userldgyCj) {
        this.userldgyCj = userldgyCj;
    }

    public BigDecimal getUserldcgCj() {
        return userldcgCj;
    }

    public void setUserldcgCj(BigDecimal userldcgCj) {
        this.userldcgCj = userldcgCj;
    }

    public BigDecimal getUserjcldCj() {
        return userjcldCj;
    }

    public void setUserjcldCj(BigDecimal userjcldCj) {
        this.userjcldCj = userjcldCj;
    }

    public BigDecimal getUserllCj() {
        return userllCj;
    }

    public void setUserllCj(BigDecimal userllCj) {
        this.userllCj = userllCj;
    }

    public BigDecimal getJcldJdPer() {
        return jcldJdPer;
    }

    public void setJcldJdPer(BigDecimal jcldJdPer) {
        this.jcldJdPer = jcldJdPer;
    }

    public BigDecimal getLdzjJdPer() {
        return ldzjJdPer;
    }

    public void setLdzjJdPer(BigDecimal ldzjJdPer) {
        this.ldzjJdPer = ldzjJdPer;
    }

    public BigDecimal getLdgyJdPer() {
        return ldgyJdPer;
    }

    public void setLdgyJdPer(BigDecimal ldgyJdPer) {
        this.ldgyJdPer = ldgyJdPer;
    }

    public BigDecimal getLdcgJdPer() {
        return ldcgJdPer;
    }

    public void setLdcgJdPer(BigDecimal ldcgJdPer) {
        this.ldcgJdPer = ldcgJdPer;
    }

    public BigDecimal getLlcjJdPer() {
        return llcjJdPer;
    }

    public void setLlcjJdPer(BigDecimal llcjJdPer) {
        this.llcjJdPer = llcjJdPer;
    }

    public BigDecimal getJdPer() {
        return jdPer;
    }

    public void setJdPer(BigDecimal jdPer) {
        this.jdPer = jdPer;
    }

    public BigDecimal getCountSjPer() {
        return countSjPer;
    }

    public void setCountSjPer(BigDecimal countSjPer) {
        this.countSjPer = countSjPer;
    }

    public BigDecimal getCountLLPer() {
        return countLLPer;
    }

    public void setCountLLPer(BigDecimal countLLPer) {
        this.countLLPer = countLLPer;
    }

    public BigDecimal getCountPer() {
        return countPer;
    }

    public void setCountPer(BigDecimal countPer) {
        this.countPer = countPer;
    }

    public BigDecimal getCountCj() {
        return countCj;
    }

    public void setCountCj(BigDecimal countCj) {
        this.countCj = countCj;
    }

    public String getIsSort() {
        return isSort;
    }

    public void setIsSort(String isSort) {
        this.isSort = isSort;
    }

    public String getSortType() {
        return sortType;
    }

    public void setSortType(String sortType) {
        this.sortType = sortType;
    }

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public BigDecimal getUsersjCj() {
        return usersjCj;
    }

    public void setUsersjCj(BigDecimal usersjCj) {
        this.usersjCj = usersjCj;
    }

    public BigDecimal getUserAllCj() {
        return userAllCj;
    }

    public void setUserAllCj(BigDecimal userAllCj) {
        this.userAllCj = userAllCj;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("uniId", getUniId())
            .append("openId", getOpenId())
            .append("openId2", getOpenId2())
            .append("xyId", getXyId())
            .append("xxId", getXxId())
            .append("zyId", getZyId())
            .append("njId", getNjId())
            .append("clId", getClId())
            .append("nickName", getNickName())
            .append("userImage", getUserImage())
            .append("phone", getPhone())
            .append("name", getName())
            .append("stNumber", getStNumber())
            .append("password", getPassword())
            .append("createTime", getCreateTime())
            .toString();
    }
}
